home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 86 / 086.d81 / wprint source (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1991-01-01  |  2.8 KB  |  215 lines

  1. 100 open2,8,1,"0:filename.xxxx"
  2. 110 sys700
  3. 120 .opt o2
  4. 130 ;
  5. 140 r0 = $fb
  6. 150 r1 = $fd
  7. 160 ;
  8. 170 lstnsec  = $ff93
  9. 180 ciout    = $ffa8
  10. 190 unlisten = $ffae
  11. 200 listen   = $ffb1
  12. 210 clrchn   = $ffcc
  13. 220 ;
  14. 230 *=$c000
  15. 240 ;
  16. 250 jmp start
  17. 260 ;
  18. 270 prdev    .byte 4
  19. 280 secaddr  .byte 0
  20. 290 linefeed .byte 0
  21. 300 xcoord   .byte 10
  22. 310 ycoord   .byte 0
  23. 320 xend     .byte 29
  24. 330 yend     .byte 7
  25. 340 basepage .byte $20
  26. 350 ;
  27. 360 start sec
  28. 370 lda xend
  29. 380 sbc xcoord
  30. 390 bcc l1
  31. 400 sta deltax
  32. 410 lda yend
  33. 420 sbc ycoord
  34. 430 bcs l2
  35. 440 l1 rts
  36. 450 ;
  37. 460 l2 asl a
  38. 470 asl a
  39. 480 asl a
  40. 490 sta rowcount
  41. 500 ;
  42. 510 jsr clrchn
  43. 520 lda prdev
  44. 530 sta $ba
  45. 540 jsr listen
  46. 550 lda secaddr
  47. 560 sta $b9
  48. 570 jsr lstnsec
  49. 580 ;
  50. 590 lda #8
  51. 600 jsr ciout
  52. 610 ;
  53. 620 lda basepage
  54. 630 sta main+1
  55. 640 lda #0
  56. 650 sta main
  57. 660 sta pntr
  58. 670 sta r0
  59. 680 sta lastrow
  60. 690 ;
  61. 700 lda xcoord
  62. 710 beq l3
  63. 720 asl a
  64. 730 rol r0
  65. 740 asl a
  66. 750 rol r0
  67. 760 asl a
  68. 770 rol r0
  69. 780 sta main
  70. 790 lda r0
  71. 800 adc main+1
  72. 810 sta main+1
  73. 820 ;
  74. 830 l3 ldx ycoord
  75. 840 beq l5
  76. 850 l4 clc 
  77. 860 lda #<320
  78. 870 adc main
  79. 880 sta main
  80. 890 lda #>320
  81. 900 adc main+1
  82. 910 sta main+1
  83. 920 dex
  84. 930 bne l4
  85. 940 ;
  86. 950 l5 ldx pntr
  87. 960 clc
  88. 970 lda main
  89. 980 adc src1,x
  90. 990 sta r0
  91. 1000 lda main+1
  92. 1010 adc src1+1,x
  93. 1020 sta r0+1
  94. 1030 lda main
  95. 1040 adc src2,x
  96. 1050 sta r1
  97. 1060 lda main+1
  98. 1070 adc src2+1,x
  99. 1080 sta r1+1
  100. 1090 txa
  101. 1100 inx
  102. 1110 inx
  103. 1120 stx pntr
  104. 1130 ;
  105. 1140 lsr a
  106. 1150 tax
  107. 1160 lda ctbytes,x
  108. 1170 sta trybyte
  109. 1180 ;
  110. 1190 lda deltax
  111. 1200 sta colcount
  112. 1210 ;
  113. 1220 m1 ldx #0
  114. 1230 stx r0index
  115. 1240 stx r1index
  116. 1250 m2 cpx trybyte
  117. 1260 bcs m3
  118. 1270 ldy r0index
  119. 1280 lda (r0),y
  120. 1290 inc r0index
  121. 1300 bne m5
  122. 1310 m3 bit lastrow
  123. 1320 bpl m4
  124. 1330 lda #0
  125. 1340 beq m5
  126. 1350 m4 ldy r1index
  127. 1360 lda (r1),y
  128. 1370 inc r1index
  129. 1380 m5 sta buffer,x
  130. 1390 inx
  131. 1400 cpx #7
  132. 1410 bne m2
  133. 1420 clc
  134. 1430 lda #8
  135. 1440 adc r0
  136. 1450 sta r0
  137. 1460 bcc nc1
  138. 1470 inc r0+1
  139. 1480 clc
  140. 1490 ;
  141. 1500 nc1 lda #8
  142. 1510 adc r1
  143. 1520 sta r1
  144. 1530 bcc nc2
  145. 1540 inc r1+1
  146. 1550 ;
  147. 1560 nc2 ldy #8
  148. 1570 rl1 ldx #6
  149. 1580 lda #1
  150. 1590 rl2 rol buffer,x
  151. 1600 rol a
  152. 1610 dex
  153. 1620 bpl rl2
  154. 1630 jsr ciout
  155. 1640 dey
  156. 1650 bne rl1
  157. 1660 ;
  158. 1670 dec colcount
  159. 1680 bpl m1
  160. 1690 ;
  161. 1700 lda #13
  162. 1710 jsr ciout
  163. 1720 lda linefeed
  164. 1730 beq nolf
  165. 1740 jsr ciout
  166. 1750 ;
  167. 1760 nolf lda pntr
  168. 1770 cmp #16
  169. 1780 bne dra
  170. 1790 lda #0
  171. 1800 sta pntr
  172. 1810 clc
  173. 1820 lda #<2240
  174. 1830 adc main
  175. 1840 sta main
  176. 1850 lda #>2240
  177. 1860 adc main+1
  178. 1870 sta main+1
  179. 1880 ;
  180. 1890 dra lda lastrow
  181. 1900 bmi done
  182. 1910 ;
  183. 1920 lda rowcount
  184. 1930 sec
  185. 1940 sbc #7
  186. 1950 sta rowcount
  187. 1960 bcs notdone
  188. 1970 dec lastrow
  189. 1980 notdone jmp l5
  190. 1990 ;
  191. 2000 done lda #15
  192. 2010 jsr ciout
  193. 2020 jsr unlisten
  194. 2030 jmp clrchn
  195. 2040 ;
  196. 2050 src1 .word 0, 7, 326, 645
  197. 2060 .word 964, 1283, 1602, 1921
  198. 2070 ;
  199. 2080 src2 .word 0, 320, 640, 960
  200. 2090 .word 1280, 1600, 1920, 1920
  201. 2100 ;
  202. 2110 ctbytes .byte 7,1,2,3,4,5,6,7
  203. 2120 ;
  204. 2130 trybyte  *=*+1
  205. 2140 buffer   *=*+7
  206. 2150 rowcount *=*+1
  207. 2160 pntr     *=*+1
  208. 2170 colcount *=*+1
  209. 2180 r0index  *=*+1
  210. 2190 r1index  *=*+1
  211. 2200 main     *=*+2
  212. 2210 deltax   *=*+1
  213. 2220 lastrow  *=*+1
  214.